/*
 * Artista.h - Grupo 5 - Prog. Avanzada 2011
 *
 *  Javier Dominguez - 4.901.161-6
 *  Marcelo Parada - 1.977.094-9
 *  Rodrigo Ruiz - 4.481.611-2
 *  Maximiliano Silvera - 4.106.938-6
 */

#ifndef ARTISTA_H_
#define ARTISTA_H_

#include <string>
#include "Pista.h"
#include "Elemento.h"

using namespace std;

class Artista: public Elemento
{
private:
	string nombre;

public:
	static const int TIPO_ELEMENTO = 2;

	Artista();

	// Metodo abstracto a implementar por sus hijos (Solista, Banda)
	virtual int tipoArtista() = 0;

	// Heredado de icollectible, implementado por Solita y Banda
	virtual bool same(ICollectible *icollectible) = 0;

	// Heredado de icollectible, implementado por Solista y Banda
	virtual string toString() = 0;

	// Heredado de elemento
	virtual int tipoElemento();

    string getNombre() const;

    void setNombre(string nombre);

    virtual ~Artista();
};

#endif /* ARTISTA_H_ */
